1. Field of the Invention
The present invention relates to a network storage system using a disk subsystem with a plurality of I/O ports connectable to a network, and particularly relates to a technique for preventing a network band from being oppressed due to access concentration, and for reducing the load on control processors for controlling the I/O ports.
2. Description of the Related Art
There is a disk control unit for storing and reading data in and from a plurality of disk units. The disk units and the disk control unit are collectively called a disk subsystem.
FIG. 1 shows an example of a disk subsystem. The reference numeral 100 represents a disk control unit, which has an interface with a host computer and a disk unit 140. The reference numeral 105 represents I/O channels, which are I/O interfaces with the host computer.
The reference numeral 110 represents channel controllers, each issuing instructions to the entrails of the disk control unit so as to process requests from the host computer. The reference numeral 115 represents connection paths between the channel controllers 110 and a cache memory controller 120 and between the channel controllers 110 and a shared memory controller 125. Communication of user data and communication of shared data are made through these paths. The reference numeral 120 represents a cache memory controller, which has a cache memory for temporarily storing user data from the host computer and the disk unit 140. The cache memory controller 120 controls cache memory accesses from the channel controllers 110 or disk access controllers 135. The reference numeral 125 represents a shared memory controller, which has a global memory for storing control information about communications made inside the disk control unit 100, and tables for attaining cross-call. The shared memory controller 125 controls shared memory accesses from the channel controllers 110 and the disk access controllers 135. The reference numeral 130 represents connection paths between the disk access controllers 135 and the cache memory controller 120 and between the disk access controllers 135 and the shared memory controller 125. Communication of user data and communication of shared data are made through these paths. The reference numeral 140 represents a disk unit, which is constituted by a plurality of drives and stores user data and the like. The connection mode between the host computer and the disk subsystem changes in accordance with the technical background and the needs of users. In recent years, popularization, speeding-up and bandwidth extension of network infrastructure have been advanced with the explosive popularization of the Internet, the appearance of gigabit Ethernet, and so on. Here, “Ethernet” is a trademark registered by Xerox Corporation, the United States. In addition, networks using the IP (Internet Protocol) (hereinafter, referred to as “IP networks”) have advantages such as low administration/running cost, good interconnectivity as typified by LAN (Local Area Network), and the like. Thus, there is a movement toward application of such IP networks to an SAN (Storage Area Network). The SAN means a network environment in which at least one host computer and at least one storage unit have been connected. As the storage unit, there is a disk array unit (hereinafter, referred to as “disk subsystem”) or the like.
On the other hand, in the IP network, the transmission path between the host computer and the disk subsystem is determined by a routing protocol. Examples of such a typical routing protocol include an RIP (Route Information Protocol), an OSPF (Open Shortest Path First), etc.
The RIP chooses the path on which path control information is transmitted on the network and the number of passed routers (called “hop count”) is the smallest out of the paths between the host computer and the disk subsystem. The OSPF generates path control information on the basis of link state (topology) information of each network so that the path control information is exchanged between adjacent routers. In the OSPF, weighting (called metric) is provided to each link, and a path by which the metric is reduced is chosen. The metric includes the transmission delay, the line speed, the kind of topology, and so on, as well as the hop count. Accordingly, when requests are issued from a plurality of host computers to the disk subsystem, the path determined by the aforementioned RIP or OSPF is used, and accesses are concentrated on the determined path. In addition, there are a non-specific number of users on the IP network, and a comparatively large volume of data is often requested by accesses to the disk subsystem. On the disk subsystem side, accesses are concentrated on an I/O port of the disk control unit so that a high load is applied to a control processor controlling the I/O port. This results in the deterioration of the transfer performance.
As a technique for avoiding such deterioration, there is a cross-call function (hereinafter, referred to as “ESCON cross-call”) in a disk subsystem in which a host computer has been connected through an ESCON (Enterprise Systems Connection Architecture) channel in a mainframe. The ESCON cross-call is aimed at improvement of the transfer performance based on elimination of overhead spent when requested data in response to accesses from the host computer is extracted from a disk unit (strictly in the seek time of a disk), and the fail over for the occurrence of failures.
The ESCON cross-call is carried out among a plurality of channels (called a channel path group). The ESCON cross-call is a technique by which a reply to a request received from a host computer through a first channel is allowed to be transmitted from a second channel different from the first channel. Description will be made below on the ESCON cross-call with reference to FIGS. 12 and 13.
FIG. 12 shows the apparatus configuration. The reference numeral 1305 represents a host computer, which issues requests to a disk subsystem 1370. The reference numerals 1310a, 1311a, 1312a, 1313a, 1314a, 1315a, 1316a and 1317a represent ESCON channels, which are I/O interfaces supporting a mainframe. The reference numerals 1310b, 1311b, 1312b, 1313b, 1314b, 1315b, 1316b and 1317b represent channel control processors, which decode requests received from the host computer 1305, and issue instructions for internal processing of the disk subsystem in accordance with the details of the requests.
The reference numeral 1320 represents a cache memory, which is a memory area for temporarily storing user data from the host computer and data of a disk unit 1340. The reference numeral 1325 represents a shared memory, which is a memory area for storing control information required for the entrails of the disk subsystem. The reference numerals 1330, 1331, 1332, 1333, 1334, 1335, 1336 and 1337 represent disk control processors, which control accesses to the disk unit in accordance with requests from the channel control processors. The reference numeral 1340 represents a disk unit, which is a unit constituted by a plurality of drives for storing data. The reference numeral 1350 represents a disk access controller, which includes the disk control processors and has an interface with the disk unit. The reference numeral 1360 represents a channel controller, which includes the channel control processors and has an interface with the host computer. In addition, the channel controller 1360 has a plurality of channels to the host computer. In FIG. 12, 4 channels are provided for every channel controller 1360, and 8 channels in total are provided for the two channel controllers. However, the number of channels per channel controller and the number of channel controllers provided in the disk subsystem are not restricted particularly.
FIG. 13 shows a flow chart for the ESCON cross-call. Processing on each of the host computer side and the disk subsystem side will be described below about the ESCON cross-call together with FIG. 13. Assume that the first ESCON channel 1310a and the second ESCON channel 1314a belong to a channel path group, and a request is issued from the first ESCON channel while a reply is transmitted from the second ESCON channel. Here, the channel path group denotes channels any of which may be used for communication between the host computer and the disk subsystem if it belongs to the channel path group. Accordingly, there is no problem even if a reply to a request received from the first ESCON channel is transmitted from the second ESCON channel.
A cross-call access start 1400 is specifically a processing of reading data from the disk unit. Hereinafter, on the foregoing assumption, description will be made on the processing of reading data from the disk unit by way of example.
First, the host computer transmits a first request through the first channel (1310a) (Step 1410). The channel control processor 1310b on the disk subsystem side receiving the first request analyzes the details of the request (Step 1415). At this time, the channel control processor 1310b concludes that reading data from the disk unit is requested.
The channel control processor once disconnects the first channel path (Step 1420), issues an instruction to read data from the disk unit, and makes preparations for transmitting data to the host computer (Step 1425).
When the preparations for transmitting data to the host computer are completed, a channel control processor belonging to the channel path group detects a notice of the completion of the preparations for data transmission (Step 1430), and issues a reconnection request to the host computer (Step 1435).
In consideration of the situation of the channels of the channel path group, the host computer receiving the reconnection request determines a channel through which a request is to be issued again. This is because the channel through which the first request was issued may carry out another processing or may be not available for some kind of failure. Here, the host computer chooses the second channel, and issues a request again therethrough (Step 1440). The channel control processor for controlling the second channel on the disk subsystem side analyzes the details of the request and transmits the prepared data to the host computer (Step 1440). The host computer receives the data (Step 1445). Thus, the processing is terminated (Step 1450).
When the aforementioned operation is observed in one I/O unit, a reply (here, data transmission) to a request is issued from a channel (second ESCON channel) different from a channel (first ESCON channel) through which the request was issued.
It is basic to the ESCON cross-call to make a reply to a request through a channel one and the same as the channel through which the request was received. Accordingly, when requests from a plurality of host computers are concentrated on one and the same channel, processing can be carried out merely sequentially. Not only protocol processing, processing for analyzing the requests and so on, but also internal processing of the disk subsystem are carried out so that a high load is applied to the control processor controlling the channel in question. Thus, the transfer performance deteriorates.
In addition, the ESCON cross-call using a channel path group constituted by a plurality of channel paths is a technique which is effective only when the host computer has a plurality of channel paths. Therefore, the ESCON cross-call cannot be applied to the system in which a host computer does not have a plurality of channel paths. Under the present circumstances, connection modes between storage and host computers have been diversified, but there are only a few host computers such as mainframes each having a plurality of channel paths.
Further, it is essential to form a channel path group compatible between the host computer and the disk subsystem. To that end, it is necessary to add some mechanism to the host computer side. The fact that some mechanism is essential for each host computer in spite of the presence of a non-specific number of host computers results in the absence of general purpose properties.